This paper describes about a solution to a woman’s needs during their menstruation. This is a paper on a mobile app created by Vidhi Chalke, Gourvi Kala, Shruti Kadam, Manasi Tawade as our final year project. The name of the app is KNOW YOUR DATE. Anyone who has experienced a period knows that the whole affair can be tricky, which is why finding the best period tracker app is a worthy pursuit. Even if your cycle is regular, it probably comes with a whole of a lot things like mood changes, acne, body ache, and other symptoms. If you\'re someone who deals with a reproductive issue like endometriosis, fibroids, or polycystic ovary syndrome (PCOS), understanding your cycle as much as possible has major benefits. In short: if you are a menstruating human, a period app can probably make things a little easier.
Introduction
I. INTRODUCTION
Call it your monthly visitor or chums or any other euphemism, female menstruation is here to stay. Once a woman has a medium to calculate the menstrual cycle, it can greatly minimize the anxiety of their next period. Tracking periods is a good way to see if there is a pattern to your menstrual cycle. Moreover, tracking can help you gauge other symptoms including PMS, acne, headache, and more. In case one is planning to conceive, tracking their period can help them identify their ovulation day. Our app is super easy to use, and help not only to track period dates, but also can also track moods and guide with what kind of diet and exercise a women should do on their period. The more closely you know your body, the more easily you can identify subtle changes and problems [1].
II. BACKGROUND
Mobile apps for menstrual-cycle tracking (hereafter termed as menstrual apps or period-tracking apps), the focus of this paper, represent a subgroup of health apps. Our Menstrual app enable the observation and analysis of menstrual cycles and a variety of related factors [2]. To create our app, Know Your Date, we used java, mysql and php in the back end and xml in the front end. We used Android Studio to make our project via the above languages.
Android Studio is the official integrated development environment (IDE) for Google's Android operating system, built on JetBrains' IntelliJ IDEA software and designed specifically for Android development. It is available for download on Windows, macOS and Linux based operating systems or as a subscription-based service in 2020. It is a replacement for the Eclipse Android Development Tools (E-ADT) as the primary IDE for native Android application development [3].
XML stands for Extensible Markup Language. XML is a markup language much like HTML used to describe data. XML tags are not predefined in XML. We must define our own Tags. Xml as itself is well readable both by human and machine. Also, it is scalable and simple to develop. In Android we use xml for designing our layouts because xml is lightweight language so it doesn’t make our layout heavy [4].
Android R.java is an auto-generated file by aapt (Android Asset Packaging Tool) that contains resource IDs for all the resources of res/ directory. If you create any component in the activity_main.xml file, id for the corresponding component is automatically created in this file. This id can be used in the activity source file to perform any action on the component [5].
MySQL is an open-source relational database management system (RDBMS). Its name is a combination of "My", the name of co-founder Michael Widenius's daughter, and "SQL", the abbreviation for Structured Query Language. A relational database organizes data into one or more data tables in which data types may be related to each other; these relations help structure the data. SQL is a language programmers use to create, modify and extract data from the relational database, as well as control user access to the database. In addition to relational databases and SQL, an RDBMS like MySQL works with an operating system to implement a relational database in a computer's storage system, manages users, allows for network access and facilitates testing database integrity and creation of backups [6].
III. RELATED WORKS
Periods typically occur once a month, but the exact timing, flow, and accompanying symptoms are not always consistent. Period tracker apps are interactive devices that can help a person track their monthly cycle. Period tracking apps are resources that allow people with smart devices to log data related to their period. Such data may include:
period start and end dates
menstrual flow rate
period symptoms
Some of the available period tracking apps are:
a. Flo: allows a person to track their periods and record their symptoms.
b. MyCalendar: is a period tracking app with various customizable features, including: tracker start date, reminder style, units of measurement, colour scheme
c. FitrWomen: is suitable for those who are physically active. The app provides period tracking in addition to nutrition and fitness tips for each stage of a person’s cycle.
d. Cycles: The Cycles app displays a person’s menstrual cycle as a dial, so users can easily view and monitor where they are in their cycle. It also has an Insights feature, allowing people to view predictions. [7]
IV. FEATURES
Following are the features of our app: -
Splash Screen: When the user opens the app, it displays some information or quotes about menstruation. Following are some of that splash screens that appears when app is opened. Android Splash Screen is the first screen visible to the user when the application’s launched. Splash screen is one of the most vital screens in the application since it’s the user’s first experience with the application. Splash screens are used to display some animations (typically of the application logo) and illustrations while some data for the next screens are fetched. The cold start appears since the application takes time to load the layout file of the Splash Activity. So instead of creating the layout, we’ll use the power of the application theme to create our initial layout.
2. Login Page: After the splash screen, the login page appears where the user can put in their username and password to log in to the app. TextView provides the user with the opportunity to view text. This text can also be edited. A programmer may choose to make text in a TextView editable or un-editable. TextView can also serve as a text editor, e.g Notepad. The basic job of TextView is to display readable text on the screen. EditText is an extension of TextView. This provides the user with the means to provide input to the program. EditText also allows the user to enter input in different text styles and fonts. The primary job of EditText is to allow the user to enter input through keypad. A button in general programming is a class which refers to a clickable component. In Android and most programming languages, buttons exist in various types.
3. Sign up Page: If the user does not have an account, then they click on the “sign up here” message on the login screen to create an account. After clicking on sign up button, the app takes the user back to the login page and shows a toast saying sign up was successful.
4. Home Page: After logging in, the user is in the home page of our application. Our home page has a settings tab, a period starts button to select your date, estimations of next ovulation and next period, with mood tracker and health tab.
5. Calendar: when the user clicks on the period starts button a calendar appears, where the user selects the date when their period started. Next ovulation and period date: After clicking ok on the calendar, we can see which day of out period it is today, next ovulation date and next expected period date.
6. Settings: here, we can edit our cycle days and period length and save it for later.
7. Mood Tracker: In the home section, when user clicks on the mood button, they are directed to the mood tracker page. Here, user can select what mood they are in and it will display what the user can do to improve their mood.
8. Health Section: In the home section, when user clicks on the health button, they are directed to the health page. Here, there are 2 tabs exercise and diet.
9. Exercise Tab: When the user clicks on the exercise button in health page, it shows some advantages of exercising during periods and if we click on the next page it shows some exercises to do when having period cramps.
10. Diet Tab: when the user clicks on the diet button in health page, it displays food to eat when you’re on your periods to relieve the period cramps and to help you with your mood.
V. BASIC REVISION OF THE APP
So, in our app, first there is a splash screen displaying some facts/ quotes related to Menses. Then the home screens similar to most of the period-tracking apps show a numerical countdown or a graphic illustration indicating the number of days until the start of the next period or ovulation. Our menstrual app offers three additional functions:
A menstrual calendar where period and ovulation dates as well as days on which additional data have been entered by users are highlighted in specific ways;
A settings tab where user can edit their cycle days and period length and save that information for later;
A mood tracker which displays suggestions based on the mood selected. For eg: if a user is upset, it suggests to relax and take brisk walk: and
A health tab comprising exercise and diet pages. The exercise tab displays benefits of exercising during periods and few exercises that help ease menstrual pain/cramps. The diet tab on the other hand displays the best foods to consume during menstruation for a healthy menstrual health.
Conclusion
In this paper we gave a short brief knowledge about our project and our vision with what we wished to achieve with our app. We discussed the importance of knowing your menstrual cycle and how our app and many other make it easy for women in this era to track their periods. Not only does our app helps in tracking menstrual cycle, it also has many other features like a mood tracker and a health tab from where user can get information about what to do to help with problems you dela with when you’re on your period. This app is not just a project but a social cause.